{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 130,
   "metadata": {},
   "outputs": [],
   "source": [
    "from DistantSpeech.beamformer.utils import load_audio\n",
    "from scipy.signal import convolve as conv\n",
    "from matplotlib import pyplot as plt\n",
    "from tqdm import tqdm\n",
    "import numpy as np\n",
    "from DistantSpeech.adaptivefilter import BaseFilter, awgn, FastFreqLms, Mdf\n",
    "from DistantSpeech.adaptivefilter.FastFreqLms import FastFreqLms\n",
    "from DistantSpeech.beamformer.utils import load_audio as audioread\n",
    "from DistantSpeech.beamformer.utils import save_audio as audiowrite\n",
    "from DistantSpeech.adaptivefilter.get_rir import get_rir\n",
    "from DistantSpeech.beamformer.utils import pt"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 131,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(336567,)\n",
      "<class 'numpy.float32'>\n",
      "[-1.2207404e-04 -2.4414808e-04 -2.1362957e-04 ... -6.1037019e-05\n",
      "  0.0000000e+00  0.0000000e+00]\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# load source single and rir\n",
    "src = load_audio('/home/wangwei/work/DistantSpeech/samples/audio_samples/cleanspeech_aishell3.wav')\n",
    "src = np.random.rand(len(src))-0.5# * np.sqrt(npower)\n",
    "print(src.shape)\n",
    "rir = load_audio('/home/wangwei/work/DistantSpeech/DistantSpeech/adaptivefilter/rir_t60_114.wav')\n",
    "rir = get_rir()[0][0]\n",
    "rir = load_audio('/home/wangwei/work/DistantSpeech/DistantSpeech/adaptivefilter/rir.wav')\n",
    "print(type(rir[0]))\n",
    "print(rir)\n",
    "rir = rir[200:]\n",
    "filter_len = 1024\n",
    "\n",
    "# same rir as paper\n",
    "# rir = np.zeros(128)\n",
    "# for n in range(128):\n",
    "#     rir[n] = (-1)**n*np.exp(-0.04*(n+1))\n",
    "# filter_len = 128\n",
    "\n",
    "\n",
    "rir = rir[:filter_len, np.newaxis]\n",
    "plt.figure()\n",
    "plt.plot(rir)\n",
    "plt.title('impulse response')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 132,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 1008x576 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(336567,)\n",
      "(336567,)\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████| 335543/335543 [00:11<00:00, 29300.33it/s]\n"
     ]
    },
    {
     "data": {
      "image/png": "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4RZVpyCrkRmULigiIiIisr/uvPNOZsyYweDBg3nzzTfp1q1bpJtUTdMfa4sxxpiKCigiIiIiIhLUo0cPFi5cWHH7ueeeC7tuypQpYR+/du3aA9m8OtNIViNTuqCIiIiISGxTkNXIjM6TJSIiIiIS0xRkNTJXwl1RloiIiIhIrFKQ1cgMShcUERERkaYp1gcDGuv/U5DVyHw+pQuKiIiISNOTnJxMTk5OzAZa1lpycnJITk4+4M+l6oKNzI1kxeYbV0RERESiV5cuXdi4cSPZ2dmRbsoBk5ycTJcuXQ748yjIamwG/IqxRERERKSJSUhIoGfPnpFuRkxQumAjM6iGu4iIiIhILFOQ1cjcebIUZYmIiIiIxCoFWY3MZ1DhCxERERGRGKYgq5HFGUOZ3zL4jsmc+MgMyjVBS0REREQkpqjwRSM7c1QXisv8/LA+l9lrd1JcVk6LRO0GEREREZFYoZGsRtajbSq3njSQYwe2A5Q6KCIiIiISaxRkRZhiLBERERGR2KIgK0KMiXQLRERERETkQFCQFSEGF2VZ5QuKiIiIiMQUBVkiIiIiIiINSEFWhATSBTWOJSIiIiISWxRkRZiyBUVEREREYouCLBERERERkQakICtCjPIFRURERERikoKsCAlUcLeKskREREREYoqCLBERERERkQakIKuxLH4H5r8G5WVASHVBDWSJiIiIiMSU+Eg3oNl47ybYuxPSu0O3gyoWK8YSEREREYktGslqLKc+4i7Li4HgnCwREREREYktCrIaS4s27tLLDwxUF7TKFxQRERERiSkKskRERERERBqQgqxGEyzaDiGFLyLTGBEREREROUAUZDWWKuUEK0IuRVkiIiIiIjFFQVajqTySJSIiIiIisUlBVmMxJuxtq6BLRERERCSmKMhqbFXSBRVjiYiIiIjEFgVZjUbpgiIiIiIizYGCrMZSpZygqguKiIiIiMQmBVmNxoRdquqCIiIiIiKxRUFWowvMyQofdImIiIiISHRTkNVYqp4nqyJdUENZIiIiIiKxREFWo1HhCxERERGR5kBBVmOpepos71JzskREREREYouCrMZWLV1QRERERERiiYKsRqN0QRERERGR5kBBVmOpWvjCC7qs8gVFRERERGKKgqxGE35SlmIsEREREZHYoiCr0SmqEhERERGJZQqyGku1dEEREREREYlFURdk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iyPQFBERERERaXgKsiLlu39XuhmIvTSOJSIiIiIS3RRkRUK/idUWVZwnS1GWiIiIiEhUU5AVCZ1GuMsqxS9AI1kiIiIiItFOQVYkxCW6y/KS4DJNyhIRERERiQkKsiIhEGStnFqxqGJOlvIFRURERESimoKsSOh3orvcMrdikQayRERERERig4KsSGjbx41mlZdWW6WBLBERERGR6KYgK1J88ZVOSGyMxrJERERERGKBgqxI8SVUDrK8S6v6giIiIiIiUU1BVqTExVdKFwwWvohQe0REREREpEEoyIoUEwdznql2rizFWCIiIiIi0U1BVqS0bOcuSwoAMKovKCIiIiISExRkRcqoS92llzKodEERERERkdigICtS4r0TEpcVV1qswhciIiIiItFNQVakxCW5y7VfVlqskSwRERERkeimICtSOo1wl+tnAsF0QRERERERiW4KsiKl3UBo1Qn83pwsFb4QEREREYkJCrIiKS4Byt0JiYOFL5QvKCIiIiISzRRkRVJcIpSXVFqUt7eULXl7FWyJiIiIiEQpBVmRFJcAi94Ea/EZQ7zP8NQXazj4j5/x1BerI906ERERERHZDwqyIsrLEcxdT5zP8MKV4/jTWcNIjPORXVBc+0NFRERERKRJUpAVSYfd7C69lMFDerflnLFdiY8zKuUuIiIiIhKlFGRFUly8uywvrbRYdQZFRERERKKXgqxI8iW4S3+VIMsYNJAlIiIiIhKdFGRFUpwXZHll3AMMKF1QRERERCRKKciKpLhEdznnmcrLDViNZYmIiIiIRCUFWZHUdZy73JtbbZVGskREREREopOCrEhKTIVOo6qdkFiFL0REREREopeCrEiLT4LyyufEMsZgNZQlIiIiIhKVFGRFWlwirJlRKWXQGDQjS0REREQkSinIirTMXu4ye1nFIqULioiIiIhELwVZkTbsHHdZtrdikUsXjFB7RERERETkR1GQFWnxye5y/msViwwq4S4iIiIiEq0UZEVa277uMmdVpcUayRIRERERiU4KsiItqRX0PaFKuqAKX4iIiIiIRCsFWU1BQjJsmQclhd4CzckSEREREYlWCrKagpQMd7lmBuBGsjSWJSIiIiISnRRkNQXjr3eXJbsBlXAXEREREYlmCrKagqRW7vKzPwDenCwNZImIiIiIRCUFWU1Bqw4Qn1Jx02hOloiIiIhI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",
      "text/plain": [
       "<Figure size 1008x576 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "\n",
    "\n",
    "# src = awgn(src, 30)\n",
    "\n",
    "SNR = 10\n",
    "data_clean = conv(src, rir[:, 0])\n",
    "data = data_clean[:len(src)]\n",
    "data = awgn(data, SNR)\n",
    "\n",
    "pt(data)\n",
    "\n",
    "print(src.shape)\n",
    "print(data.shape)\n",
    "\n",
    "# array_data = audioread(\"/home/wangwei/work/DistantSpeech/example/mix.wav\")\n",
    "# src = array_data[:, 0]\n",
    "# data = array_data[:, 1]\n",
    "\n",
    "w = np.zeros((filter_len, 1))\n",
    "\n",
    "lms = BaseFilter(filter_len=filter_len, mu=0.001, normalization=False)\n",
    "nlms = BaseFilter(filter_len=filter_len, mu=0.1)\n",
    "flms = FastFreqLms(filter_len=filter_len, mu=1.e-1)\n",
    "mdf = Mdf(filter_len=filter_len, mu=1.1e-1, num_block=4)\n",
    "\n",
    "valid_len = len(src)-flms.filter_len  # discard last frame\n",
    "\n",
    "est_err_lms = np.zeros(valid_len)\n",
    "est_err_nlms = np.zeros(valid_len)\n",
    "est_err_flms = np.zeros(valid_len)\n",
    "est_err_mdf = np.zeros(valid_len)\n",
    "\n",
    "output = np.zeros(data.shape)\n",
    "\n",
    "for n in tqdm(range((valid_len))):\n",
    "    if np.mod(n, flms.filter_len) == 0:\n",
    "        input_vector = src[n: n +  flms.filter_len]\n",
    "        d_vector = data[n : n + flms.filter_len]\n",
    "        err, w_flms = flms.update(input_vector, d_vector)\n",
    "        output[n : n + flms.filter_len] = err[:, 0]\n",
    "\n",
    "    if np.mod(n, mdf.block_len) == 0:\n",
    "        input_vector = src[n: n +  mdf.block_len]\n",
    "        d_vector = data[n : n + mdf.block_len]\n",
    "        err, w_mdf = mdf.update(input_vector, d_vector)\n",
    "\n",
    "    # _, w_lms = lms.update(src[n], data[n])\n",
    "    # _, w_nlms = nlms.update(src[n], data[n])\n",
    "    # est_err_lms[n] = np.sum(np.abs(rir - w_lms[:len(rir)])**2)\n",
    "    # est_err_nlms[n] = np.sum(np.abs(rir - w_nlms[:len(rir)])**2)\n",
    "    est_err_flms[n] = np.sum(np.abs(rir - w_flms[:len(rir)])**2)\n",
    "    est_err_mdf[n] = np.sum(np.abs(rir - w_mdf[:len(rir)])**2)\n",
    "\n",
    "plt.figure(figsize=(14,8))\n",
    "# plt.plot(10 * np.log(est_err_lms / np.sum(np.abs(rir[:, 0])**2) + 1e-6))\n",
    "# plt.plot(10 * np.log(est_err_nlms / np.sum(np.abs(rir[:, 0])**2)) + 1e-6)\n",
    "plt.plot(10 * np.log(est_err_flms / np.sum(np.abs(rir[:, 0])**2)) + 1e-6)\n",
    "plt.plot(10 * np.log(est_err_mdf / np.sum(np.abs(rir[:, 0])**2)) + 1e-6)\n",
    "plt.legend(['flms', 'mdf'], loc='upper right')\n",
    "plt.xlabel(\"steps\")\n",
    "plt.ylabel(\"$\\||\\hat{w}-w\\||_2$\")\n",
    "plt.title('weight estimation error vs step')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 133,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure()\n",
    "plt.plot(output)\n",
    "plt.show()\n",
    "# audiowrite('flms1.wav', output)\n",
    "# print(w_mdf)\n",
    "plt.figure()\n",
    "plt.plot(w_mdf)\n",
    "plt.plot(w_flms)\n",
    "plt.title('impulse response')\n",
    "plt.show()\n",
    "# plt.figure()\n",
    "# plt.plot(w_mdf)\n",
    "# plt.title('impulse response')\n",
    "# plt.show()\n",
    "\n",
    "audiowrite('x.wav', src)\n",
    "audiowrite('d.wav', data)\n",
    "audiowrite('rir_x_d.wav', rir)"
   ]
  }
 ],
 "metadata": {
  "interpreter": {
   "hash": "532cddd74b9fabc13f740f51c7600370dbbc74aaf96e64501f4b1ae280f38de4"
  },
  "kernelspec": {
   "display_name": "Python 3.8.8 ('.venv': venv)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.8"
  },
  "orig_nbformat": 4
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
